1. Field of the Invention
The present invention relates to a circuit pattern comparison apparatus and, in particular, a circuit pattern comparison apparatus for searching portions matched to designated structural patterns from a target object represented as a circuit network whose physical structure or operation model comprises a set of nodes and node-to-node arcs or links.
2. Description of the Related Art
There is a demand for a circuit pattern comparison apparatus which, from a target object represented as a circuit network whose physical structure or operation model comprises a set of nodes and node-to-node arcs or links, portions matched to designated structural patterns (hereinafter referred to as search patterns) having a specific partial structure in the circuit network.
In practice, the pattern comparison method performs the following operations. In the designing of electronic circuits of various types of electronic apparatuses or logic circuits of semiconductor elements, the operation is directed to extracting structural features having a specific connection from a whole circuit arrangement and identifying any inconvenient portion. In the fault diagnosis of various types of plant, fault diagnosis of an electric power system, etc., the operation is directed to identifying a fault generation portion or portions of a schematic diagram on a whole system.
The circuit pattern comparison apparatus is utilized as a knowledge-based inference system for automatically performing these operations.
In those application areas of the designing of electronic circuits and logic circuits, for example, the structural designs of the circuit are described and edited by a design supporting tool, such as a CAD, and stored as a circuit data file represented as a circuit network comprising a set of nodes and node-to-node arcs or links. In this practical application, the pattern comparison apparatus treats the circuit network as a target object and finds faulty parts or inconvenient portions.
The first method for realizing a circuit pattern comparison apparatus is a procedural programming language for describing the operations which search the portions matched to the search patterns from a circuit network. Those search patterns contain heuristic procedure for discovering the target portions which satisfy structural conditions and local conditions about the attribute values of nodes or links.
In the procedural programming language, however, much labor is required in the description of a program for comparison. In the comparison program represented in the form of a procedural code, the user cannot intuitively understand its contents and it is also difficult to debug or correct them. That is, in the first method, the description of the individual comparison method is integrally incorporated in the procedure for the whole control operation of the circuit pattern comparison apparatus. It is, therefore, not easy to modify the partial description of the search pattern and comparison method.
The second pattern searching method is one for describing the comparison program under a "rule" form utilizing a production system. If the comparison program is described under the "rule" form, since a basic searching action is made utilizing a pattern matching function of the production system, less description can be achieved than in the procedural description and it is possible to readily build the circuit pattern comparison apparatus.
However, since the comparison program described under the "rule" form is represented in the form of a code, its contents cannot intuitively be understood as in the case of it being described by the procedural programming language, and it is difficult to debug and modify them. In this method, the inference engine (comparison engine) for realizing the comparison method has to obey a fixed inference mechanism of the production system and the change of the comparison method cannot be realized unless any specific ingenuity has been conceived, for example, under combination rules. Since the production system is a general-purpose problem solving apparatus irrespective of how an "object" problem is treated, it is difficult to compare the searching patterns at high speeds from the information of a circuit network having an exorbitant number of elements, such as an electric circuit realized by a semiconductor integrated circuit in particular.
Then since the description on the comparison order of the nodes and their local conditions are integrally incorporated, in the first method, in the nodes contained in the search pattern and the procedure for describing their condition, the change of the comparison order cannot readily be achieved. Even in the second method for describing the nodes contained in the search pattern and their condition and comparison order under the rule of the production system, it is not possible to designate their detailed order because the comparison order depends upon how it is written. The efficiency with which the pattern is searched is not good in the conventional methods.
Further, even in the above two methods it is necessary to designate the comparison order individually for the respective search pattern and the more types of search patterns the less searching efficiency of the pattern.
In the case where, in the prior art as set out above, those portions matched to the designated search patterns are to be searched from the target object represented by a circuit network comprised of a set of nodes and node-to-node arcs or links, since the nodes contained in the search pattern and comparison program for searching data satisfying their condition are described with a non-schematic representation, that is, the procedural programming language and rule form, the comparison contents represented by the comparison program cannot intuitively be understood and it is, therefore, difficult to debug and correct.
Further the procedure for searching portions matched to the search patterns which contain complex structures at a speed satisfied with a practical application and the comparison function considering the treatment of a fuzzy search pattern, etc., basically have to be developed as a program by the user himself or herself and it takes the user much time or labor to treat them.